/*
 * @lc app=leetcode.cn id=228 lang=cpp
 *
 * [228] 汇总区间
 */

// @lc code=start
#include <bits/stdc++.h>
using namespace std;
class Solution
{

public:
    vector<string> summaryRanges(vector<int> &nums)
    {
        if (nums.size() == 0)
            return {};

        vector<string> ans;
        int i = 0;
        string s = to_string(nums[i]);
        int j = i + 1;

        while (i < nums.size())
        {
            while (j < nums.size() && nums[j] == nums[j-1] + 1)
            {
                j++;
            }
            if (j != i + 1)
            {
                s += "->" + to_string(nums[j - 1]);
            }
            ans.push_back(s);

            if(j != nums.size())
                s = to_string(nums[j]);

            i = j;
            j++;
        }
        return ans;
    }
};

// int main(int argc, char const *argv[])
// {
//     vector<int> v = {0,2,3,4,6,8,9};
//     Solution().summaryRanges(v);
//     return 0;
// }


// @lc code=end
